package com.ruoyi.exam.vo;

import com.ruoyi.exam.domain.ExamQuestion;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 题目详细信息Vo对象，包含题目、选项、答案等完整信息
 *
 * @author Tellsea
 * @date 2025-05-30
 */
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class ExamQuestionDetailVo extends ExamQuestion {

    /**
     * 题目选项列表
     */
    private List<ExamQuestionOptionVo> options;

    /**
     * 题目答案列表
     */
    private List<ExamQuestionAnswerVo> answers;

    /**
     * 所属题库ID列表
     */
    private List<Long> questionBankIds;

    /**
     * 分类名称
     */
    private String categoryName;

    /**
     * 当前用户是否已收藏该题目
     */
    private Boolean isFavorite;

    /**
     * 当前用户是否已作答该题目
     */
    private Boolean hasAnswered;

    /**
     * 当前用户作答是否正确
     */
    private Boolean isCorrect;

    /**
     * 当前用户选择的选项
     */
    private String selectedOptions;
} 